/*题目：判断输入的字符串是否是回文字符串(正着看和倒着看一样)，要求每次输入结束回车时判断。要求实现一个函数，将每行字符数组进行单独判断。

输入样例：
China

输出样例：
NO

输入样例：
abcdedcba

输出样例：
YES
*/
#include<stdio.h>
#include<string.h>
#include<stdbool.h>
#define SIZE 1001
bool isPalindrome(const char* str, int len); //声明调用函数
int main(void)
{
    char word[SIZE] = {0};   //对数组初始化
    while (fgets(word, SIZE, stdin) != NULL)   //建立循环
    {
        word[strcspn(word, "\n") ] = 0;    //fgets函数会储存换行符，这里将处理掉换行符
        if (isPalindrome(word, strlen(word)))  //使用调用函数
        {
            printf("YES\n");
        }
        else 
        {
            printf("No\n");
        }
        continue;
    }
    return 0;
}
//定义函数

bool isPalindrome(const char* str, int len) //此处有个问题，没有确定什么终止程序，同时只输入回车该程序也会返回应有值
{
    
    for (int i = 0; i < len / 2; i++)
    {
        if (str[i] != str[len - 1 - i])
        {
            return false;
        }
        
    }
    return true;
    
    
}